package com.evolution.warlock.entity;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

import org.hibernate.search.annotations.Indexed;
import org.hibernate.search.annotations.Similarity;
import org.hibernate.validator.constraints.Length;
import org.wltea.analyzer.lucene.IKSimilarity;

/**
 * Entity - 配置表
 * 
 * @author EVOLUTION Team
 * @version 1.0
 */
@Indexed
@Similarity(impl = IKSimilarity.class)
@Entity
@Table(name = "ev_civil_dispute")
@SequenceGenerator(name = "sequenceGenerator", sequenceName = "ev_civil_dispute_squence")
public class CivilDispute extends BaseEntity {

	/**
	 * 
	 */
	private static final long serialVersionUID = -4825655560570844231L;
	
	/** */
	private CriminalBase criminalBase;

	/** 涉案类别--故意伤害案 */
	private Integer caseCategoryInjure;

	/** 涉案类别--故意杀人案 */
	private Integer caseCatetoryKill;

	/** 民事纠纷类别 */
	private Integer civilDisputeCategory;
	
	/** 民事纠纷类别其它 */
	private String civilDisputeCategoryAnother;	

	/** 民事纠纷调处情况 */
	private Integer civilDisputeCondition;

	/** 民事纠纷调处结果 */
	private Integer civilDisputeResult;

	/** 民事纠纷发生至刑案发生时间间隔 */
	private Integer civilDisputeTimeStamp;

	/** 作案类型 */
	private Integer caseCategory;
	
	/** 作案类型其它 */
	private String caseCategoryAnother;

	/** 主要成因 */
	private Integer mainReason;

	/** 主要成因其它 */
	private String mainReasonAnother;

	/**
	 * 
	 */
	@NotNull
	@Length(max = 2)
	public Integer getCivilDisputeCategory() {
		return civilDisputeCategory;
	}

	public void setCivilDisputeCategory(Integer civilDisputeCategory) {
		this.civilDisputeCategory = civilDisputeCategory;
	}

	/**
	 * 
	 */
	@NotNull
	@Length(max = 2)
	public Integer getCivilDisputeCondition() {
		return civilDisputeCondition;
	}

	public void setCivilDisputeCondition(Integer civilDisputeCondition) {
		this.civilDisputeCondition = civilDisputeCondition;
	}

	/**
	 * 
	 */
	@NotNull
	@Length(max = 2)
	public Integer getCivilDisputeResult() {
		return civilDisputeResult;
	}

	public void setCivilDisputeResult(Integer civilDisputeResult) {
		this.civilDisputeResult = civilDisputeResult;
	}

	/**
	 * 
	 */
	@NotNull
	@Length(max = 2)
	public Integer getCivilDisputeTimeStamp() {
		return civilDisputeTimeStamp;
	}

	public void setCivilDisputeTimeStamp(Integer civilDisputeTimeStamp) {
		this.civilDisputeTimeStamp = civilDisputeTimeStamp;
	}

	/**
	 * 
	 */
	@NotNull
	@Length(max = 2)
	public Integer getCaseCategory() {
		return caseCategory;
	}

	public void setCaseCategory(Integer caseCategory) {
		this.caseCategory = caseCategory;
	}

	/**
	 * 
	 */
	@NotNull
	@Length(max = 2)
	public Integer getMainReason() {
		return mainReason;
	}

	public void setMainReason(Integer mainReason) {
		this.mainReason = mainReason;
	}

	@Length(max = 2)
	public Integer getCaseCategoryInjure() {
		return caseCategoryInjure;
	}

	public void setCaseCategoryInjure(Integer caseCategoryInjure) {
		this.caseCategoryInjure = caseCategoryInjure;
	}

	@Length(max = 2)
	public Integer getCaseCatetoryKill() {
		return caseCatetoryKill;
	}

	public void setCaseCatetoryKill(Integer caseCatetoryKill) {
		this.caseCatetoryKill = caseCatetoryKill;
	}
	

	@OneToOne(fetch = FetchType.LAZY)
	public CriminalBase getCriminalBase() {
		return criminalBase;
	}

	public void setCriminalBase(CriminalBase criminalBase) {
		this.criminalBase = criminalBase;
	}

	@Length(max = 100)
	public String getCivilDisputeCategoryAnother() {
		return civilDisputeCategoryAnother;
	}

	public void setCivilDisputeCategoryAnother(String civilDisputeCategoryAnother) {
		this.civilDisputeCategoryAnother = civilDisputeCategoryAnother;
	}

	@Length(max = 100)
	public String getCaseCategoryAnother() {
		return caseCategoryAnother;
	}

	public void setCaseCategoryAnother(String caseCategoryAnother) {
		this.caseCategoryAnother = caseCategoryAnother;
	}

	@Length(max = 100)
	public String getMainReasonAnother() {
		return mainReasonAnother;
	}

	public void setMainReasonAnother(String mainReasonAnother) {
		this.mainReasonAnother = mainReasonAnother;
	}
	
	
	
}
